package com.basics.channel.service;

import com.basics.api.response.channel.GroupListData;
import com.basics.api.response.organization.GroupOrganizationListData;
import com.basics.channel.entity.CyChannelGroup;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 * 频道分组 服务类
 * </p>
 *
 * @author WangWei
 * @since 2025-03-09
 */
public interface CyChannelGroupService extends IService<CyChannelGroup> {

    /**
     * 根据频道ID获取频道分组列表
     * @param channelId
     * @return
     */
    List<GroupListData> selectChannelGroupList(Long channelId);

    /**
     * 根据频道ID获取频道分组列表 (包含分组成员数量)
     * @param channelId
     * @return
     */
    List<GroupOrganizationListData> selectGroupList(Long channelId);

    /**
     * 根据频道ID获取频道默认分组
     * @param channelId
     * @return
     */
    CyChannelGroup getDefaultGroup(Long channelId);

    /**
     * 根据分组ID获取分组名称
     * @param groupIds
     * @return
     */
    String selectByIds(String groupIds);
}
